package xyz.hubery.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import xyz.hubery.domain.Market;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.hubery.domain.TurnoverOrder;

import java.util.List;

/**
* @author huber
* @description 针对表【market(交易对配置信息)】的数据库操作Service
* @createDate 2025-10-16 07:45:08
*/
public interface MarketService extends IService<Market> {

    /**
     * 分页查询市场
     * @param page
     * @param tradeAreaId
     * @param status
     * @return
     */
    Page<Market> findPage(Page<Market> page, Long tradeAreaId, Byte status);

    /**
     * 查询某个交易区域下的所有市场
     * @param id 交易区域ID
     * @return
     */
    List<Market> getMarketsByTradeAreaId(Long id);

    /**
     * 根据交易对名称查询市场
     * @param symbol
     * @return
     */
    Market getMarketBySymbol(String symbol);

    /**
     * 根据交易区域id查询交易市场
     * @param id 交易区域id
     * @return
     */
    List<Market> getMarketsByAreaId(Long id);

    /**
     * 根据市场id查询交易记录
     * @param id 市场id
     * @return
     */
    List<TurnoverOrder> listTradesById(Long id);
}
